package com.practice.niuke.new_direct_practice.class02;

/**
 * 如果只由'('和')'两种字符组成的字符串中， 每一个符号都有合理的匹配， 我们说这个字符
 * 串是完整的。
 * 问题2:如果一个可能不完整的字符串， 怎么求至少需要添加多少个括号能让其完整。
 */
public class Code03_NeedParentheses {

    /**
     * 问题2:如果一个可能不完整的字符串， 怎么求至少需要添加多少个括号能让其完整。
     *
     * @param str
     * @return
     */
    public static int needParentheses(String str) {
        int t = 0;
        int needSolveRight = 0;
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == '(') {
                t++;
            } else { // 遇到的是')'
                if (t == 0) {
                    needSolveRight++;
                } else {
                    t--;
                }
            }
        }
        return t + needSolveRight;
    }

    public static void main(String args[]) {

    }

}
